package Controladores;

import ClassesBases.Conta;
import Interfaces.InterfaceRepositorioConta;

public class CadastroContas {

	private static final String REALIZADO_COM_SUCESSO = "realizado com sucesso!";
	private static final String ERRO_CONTA_NAO_ENCONTRADA = "Conta não encontrada!";
	private static final double ZERO_DOUBLE = 0.00;
	private InterfaceRepositorioConta irconta;
	private Conta conta;

	public CadastroContas(InterfaceRepositorioConta repContas) {
		this.irconta = repContas;
	}

	public void creditar(String numero, double valor) {
		conta = irconta.procurar(numero);
		if (conta != null && valor > ZERO_DOUBLE) {
			conta.setSaldo(conta.getSaldo() + valor);
			System.out.println("Ccredito " + REALIZADO_COM_SUCESSO);
		} else {
			System.out.println(ERRO_CONTA_NAO_ENCONTRADA);
		}
	}

	public void debitar(String numero, double valor) {
		conta = irconta.procurar(numero);
		if (conta != null && valor < conta.getSaldo()) {
			conta.setSaldo(conta.getSaldo() + valor);
			System.out.println("Débito " + REALIZADO_COM_SUCESSO);
		} else {
			System.out.println(ERRO_CONTA_NAO_ENCONTRADA);
		}
	}

	public void verSaldo(String numero) {
		if (irconta.existe(numero)) {
			conta = irconta.procurar(numero);
			System.out.println("Saldo: " + conta.getSaldo());
		}
	}
	
	public void inserirConta(Conta conta){
		irconta.inserir(conta);
	}
}
